// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "KruskalCreator.generated.h"
/*	主要步骤
 *		创建所有墙的列表（除了四边），并且创建所有单元的集合，每个集合中只包含一个单元。
 *		随机从墙的列表中选取一个，取该墙两边分隔的两个单元
 *			两个单元属于不同的集合，则将去除当前的墙，把分隔的两个单元连同当前墙三个点作为一个单元集合；并将当前选中的墙移出列表
 *			如果属于同一个集合，则直接将当前选中的墙移出列表
 *		不断重复第 2 步，直到所有墙都检测过
 *	效果及小结
 *		该算法同样不会出现明显的主路，岔路也比较多
 */
UCLASS()
class MISCELLANEOUSPROJECT_API AKruskalCreator : public AActor
{
	GENERATED_BODY()
	
public:	
	// Sets default values for this actor's properties
	AKruskalCreator();

protected:
	// Called when the game starts or when spawned
	virtual void BeginPlay() override;

public:	
	// Called every frame
	virtual void Tick(float DeltaTime) override;

};
